'use strict'

export function encode (str) {
  var s = ''
  if (str.length === 0) return ''
  s = str.replace(/&/g, '&amp;')
  s = s.replace(/</g, '&lt;')
  s = s.replace(/>/g, '&gt;')
  s = s.replace(/ /g, '&nbsp;')
  s = s.replace(/\\'/g, '&#39;')
  s = s.replace(/\\"/g, '&quot;')
  return s
}

export function decode (str) {
  var s = ''
  if (str.length === 0) return ''
  s = str.replace(/&amp;/g, '&')
  s = s.replace(/&lt;/g, '<')
  s = s.replace(/&gt;/g, '>')
  s = s.replace(/&nbsp;/g, ' ')
  s = s.replace(/&#39;/g, '\'')
  s = s.replace(/&quot;/g, '\\"')
  return s
}

export function decodeSrc (str) {
  var s = ''
  if (str.length === 0) return ''
  s = str.replace(/&amp;/g, '&')
  s = str.replace(/img&nbsp;src/g, 'img style="display:none" src')
  s = s.replace(/&lt;p&gt;/g, '')
  s = s.replace(/&lt;\/p&gt;/g, '')
  s = s.replace(/&lt;br&gt;/g, '')
  s = s.replace(/&lt;/g, '<')
  s = s.replace(/&gt;/g, '>')
  s = s.replace(/&nbsp;/g, ' ')
  s = s.replace(/&#39;/g, '\'')
  s = s.replace(/&quot;/g, '\\"')
  return s
}
